Trend WaveHello Traders!
You know, I can sill remember the first time I started tinkering with Pinescript. As I had no prior programming experience, I learned by experimenting with other open-source scripts on TradingViews Marketplace. Tearing apart and combining interesting scripts to see what the output would be. @ChrisMoody was a huge source of inspiration for learning, and I wanted to thank him, as well as @TheLark for the concept behind this script.
The Trend Wave is based on @ChrisMoody's PPO-PercentileRank-Mkt-Tops-Bottoms , which also happens to be based on @TheLark's TheLark-Laguerre-PPO/ .
Within my experimentation, I found that if I isolate the ppoT & ppoB variables and plot them calculated from extremely small decimals, you can get an extremely fast reacting, mirroring trend detector.
Within the script, you have the ability to plot the background colors based on trend to make it easier to see where crossovers occured, as well as a Mirror Input to view the mirrored version of the script.
-@DayTradingOil
ابحث في النصوص البرمجية عن "the script"
™TradeChartist Fibonacci Plotter™TradeChartist Fibonacci Plotter is a free and easy to use script to plot Fibonacci levels, 20 EMA (20 period Exponential Moving Average) and Pivot Highs/Lows on any time frame chart on any assets like Stocks, Forex, Commodities, Cryptocurrencies etc.
Fibonacci Levels can be plotted using the following options from settings.
1. Lookback type - Candles
Calculates the High and Low price of the user input number of Candles back (100 default) and plots Fibonacci Levels based on the calculated High and Low for the number of candles in the past from the current candle
2. Lookback type - Days
Calculates the High and Low price of the user input number of Days back (100 default) and plots Fibonacci Levels based on the calculated High and Low for the number of days in the past from the day of the current bar. The levels stay intact on any time frame as long as no new Highs or Lows are formed.
3. Manual Price Input
Plots Fibonacci Levels based on the user specified High and Low Price in the settings input screen. The levels stay intact on any time frame irrespective of new Highs or Lows being formed. Using this option and activating higher Fibonacci Levels like 1.272, 1.414 and 1.618 will enable the trader to keep the Levels intact and set alerts based on static higher levels for trade execution when price crosses beyond 100% retracement. On the other two lookback types, higher levels when activated will move dynamically based on new highs or lows being formed and price will never go beyond 100% level.
Example of Manual Price Input for GBP-USD on 1hr chart with higher levels is shown below:
Also the levels can be reversed by checking "Reverse Fibonacci Levels" from settings (Off by Default)
In addition to the Fibonacci plot, 20 period EMA (On by Default) and Pivot Highs/Lows (On by Default) are coded into the script as optional extras as both of these indicators will help make an informed decision in making trade decisions using Fibonacci Levels.
This is a free to use indicator. Give a thumbs up or leave a comment if you like the script
Check my 'Scripts' page to see other published scripts. Get in touch with me if you would like access to my invite-only scripts for a trial before deciding on a paid access for a period of your choice. Monthly, Quarterly, Half-Yearly and 1 Year access available on invite-only scripts along with 1hr Team Viewer intro session.
ONH / ONL Auto LevelsThis script automatically detects and plots the Overnight High (ONH) and Overnight Low (ONL) for each trading day.
It scans the entire overnight/Globex session (default: 18:00–09:30 EST for ES futures) and records the highest and lowest prices formed during that period.
At the start of the regular trading session (RTH), ONH and ONL levels remain on the chart as key liquidity zones.
These levels are commonly used for:
• Identifying liquidity sweeps
• Opening drive reversals
• Break-and-retest setups
• VWAP + ON levels confluence
• Scalping on 1m–5m charts
The script updates automatically every day and draws clean, minimal levels suitable for intraday traders.
Time settings can be adjusted to match any market or instrument.
Smart Money OB + Limit Orders + PriorityDetects breaks of structure (BOS) using swing highs/lows and an ATR-filtered impulse bar.
Builds simple order-block based levels and plots theoretical limit orders:
Buy limits are always placed below current price.
Sell limits are always placed above current price.
Shows a higher-timeframe bias using EMAs on two selectable timeframes (for example H4 + H1).
Draws “HTF-style” trendlines on the current timeframe using wider swing points.
Calculates RSI and highlights overbought/oversold regions for context.
Draws an optional “accumulation zone” box around the nearest limit level.
Optional counter-trend status: when trend is not extremely strong and price/RSI are stretched, the script can visually suggest a possible counter-trend move towards the zone (dotted arrow).
Info panel in the top-right corner summarises:
Direction priority (long / short / none)
Limit side (BUY / SELL / none)
RSI value
Trend regime (no trend / weak / strong)
Counter-trend status
“Now” line – a short text description of the current situation.
Usage notes
This script is designed to make chart reading easier: it organises structure, bias and potential areas on the chart, so you can build your own trading plans.
It does not guarantee results and should not be considered financial advice.
Always confirm ideas with your own analysis and risk management before taking any trades.
able MACD Overview
Purpose: The indicator combines the traditional MACD (Moving Average Convergence Divergence) with a short-term “forecast” (projection) of MACD/histogram values to give early warning of momentum changes.
Typical outputs:
MACD line (fastEMA − slowEMA)
Signal line (EMA of MACD)
Histogram (MACD − signal)
Forecasted MACD or histogram projected N bars ahead
Optional buy/sell markers and alert conditions
Add the indicator to TradingView (Installation)
Open TradingView and the chart you want to apply the indicator to.
Click “Pine Editor” at the bottom of the chart.
Copy the contents of able_macd_forecast.pine into the Pine Editor window.
Click “Add to chart” (or Save then Add to chart). If it’s a study, it will appear on the chart below price.
If you plan to re-use the script, click Save and give it a meaningful name.
Inputs / Parameters (typical) Note: exact input names may differ in your script. Replace the names below with the script’s input labels when you inspect it.
Source: price source for calculations (close, hl2, etc.).
Fast Length: length for the fast EMA (commonly 12).
Slow Length: length for the slow EMA (commonly 26).
Signal Length: length for the MACD signal EMA (commonly 9).
Forecast Length / Horizon: how many bars ahead the script projects the MACD/histogram (e.g., 1–5).
Forecast Method / Smoothing: choice of projection method (linear regression, EMA extrapolation, simple slope * N, etc.) if available.
Histogram Thresholds: numeric thresholds to emphasize significant momentum (optional).
Show Forecast: toggle on/off the forecast plot.
Alerts On/Off toggles: enable or disable alert conditions baked into the indicator.
Visual / Style settings: colors, plot thickness, histogram style (columns/areas), show labels, show buy/sell arrows.
How the indicator is typically calculated (summary)
MACD line = EMA(source, fast) − EMA(source, slow)
Signal line = EMA(MACD line, signal length)
Histogram = MACD − Signal
Forecast = method-specific short-term projection of MACD or histogram (for example: extend the last slope forward, apply linear regression to MACD values and extrapolate N bars, or apply an additional smoothing and extend that value) Note: For exact math, I need to inspect the script; this is the typical approach.
How to read the indicator (signals & interpretation)
Bullish signal:
MACD line crossing above the signal line (MACD cross up).
Histogram turns positive (cross above zero).
Forecast shows MACD/histogram moving higher in the next N bars (if forecast is positive or trending up).
Bearish signal:
MACD line crossing below the signal line (MACD cross down).
Histogram turns negative (cross below zero).
Forecast shows MACD/histogram moving lower ahead.
Confirmations:
Use price action (higher highs/lows for bullish, lower highs/lows for bearish).
Volume or other momentum/confluence indicators (RSI, ADX).
Divergences:
Bullish divergence: price makes lower low while MACD histogram makes higher low.
Bearish divergence: price makes higher high while MACD histogram makes lower high.
Forecast behavior:
If the forecast leads the MACD cross (forecast crosses before the current MACD does), it’s an early warning.
Use caution: forecasts are prone to false signals; always confirm.
Common trading setups using this indicator
Conservative:
Wait for MACD to cross signal + histogram above zero + forecast already trending same direction.
Use stop below recent swing low (for long) or above recent swing high (for short).
Aggressive (early entry):
Enter when forecast turns positive while MACD still below signal (anticipating cross).
Use tighter stops and smaller position sizes.
Exit rules:
Opposite MACD cross, histogram flipping sign, or a target based on risk-reward.
Use trailing stop based on ATR or structure.
Example settings for different timeframes (starting points)
Scalping / 5–15 min:
Fast 8, Slow 21, Signal 5, Forecast 1–2
Intraday / 1H:
Fast 12, Slow 26, Signal 9, Forecast 2–3
Swing / 4H–Daily:
Fast 12, Slow 26, Signal 9, Forecast 3–5 Adjust based on the asset volatility and backtests.
Adding alerts (TradingView)
Click the “Alerts” button (clock icon) or press Alt + A.
In the Condition dropdown, select the indicator name (able_macd_forecast) and choose a plotted series or built-in alert condition (if the script uses alertcondition).
Common alert types:
MACD crosses Signal (Crossing)
Histogram crosses 0 (Crossing)
Forecast crosses 0 or Forecast trend change (if provided)
Message templates:
“{{ticker}}: MACD crossed above signal on {{interval}}”
“{{ticker}} Forecast positive: MACD forecast shows upward momentum”
Customize the message for your trade automation or notifications.
Configure frequency (Only once, Once per bar, or Once per bar close) — for signals like crossovers, “Once per bar close” is usually safer to avoid repainting issues. Note: If the script includes alertcondition() calls with explicit IDs/messages, use those directly — they are the most reliable for automation.
Backtesting / Strategy conversion
If this script is a study (indicator), you can:
Convert it to a strategy by adding strategy.* order calls (strategy.entry, strategy.close) using the entry/exit logic you prefer, or
Use TradingView’s “Bar Replay” to manually test signals across different markets/timeframes.
If you want, I can help convert or write a strategy wrapper that uses the indicator’s signals to place backtest trades (I’ll need the code).
Practical tips & best practices
Use higher timeframe confirmation for lower-timeframe entries (e.g., check daily MACD momentum before trading 15m signals).
Beware of choppy markets; MACD / forecast may produce whipsaws. Combine with trend filters (moving average direction, ADX).
If you rely on forecasted values, prefer alerts “on bar close” when possible to reduce false alerts from intra-bar noise.
Tune parameters for the specific asset (FX, crypto, stocks have different behavior).
Record each signal and outcome for a sample period (20–100 trades) to evaluate performance.
Troubleshooting
Indicator won’t add: verify Pine version in script header (//@version=4 or //@version=5). TradingView may reject scripts with unsupported version syntax.
Plots missing: check script inputs (Some scripts hide plots if toggles are off).
Alerts firing too often: change alert frequency to “Once per bar close” or adjust threshold values.
Forecast seems to repaint: some forecast methods can repaint (use “bar_index” or store values only on closed bars, or use non-repainting forecast methods). Ask me to inspect the script for repainting logic.
What I can do next (recommended)
If you paste the content of able_macd_forecast.pine here, I will:
Produce a precise, line-by-line usage guide mapping to the exact input names and default values.
Show the exact plotted series names and how to reference them for alerts.
Point out any repainting risks and suggest fixes.
Provide example alert messages that match the script’s alertcondition IDs (if any).
Optionally convert it into a strategy for backtesting, or add non-repainting forecast logic if needed.
Precision Entry Signals (RSI + MA12 Logic)Description:
This script provides precise entry signals based on a clean confluence of MA12 breakouts and RSI momentum, filtered by a VWMA (Volume-Weighted Moving Average) of the RSI.
-----------------------------------------------------------------------------------------------------------------
🔹 Long entry conditions:
- Candle opens below the 12-period MA and closes above it
- RSI crosses above its VWMA
- Previous candle is bearish (additional confirmation)
🔹 Short entry conditions:
- Candle opens above the 12-period MA and closes below it
- RSI crosses below its VWMA
- Previous candle is bullish
----------------------------------------------------------------------------------------------------------------
Once a signal is confirmed, the script automatically draws:
Entry line (at close price)
Stop Loss line (just below recent lows for long, or above highs for short)
Take Profit 1 (1R)
Take Profit 2 (2R)
Labels are attached to the lines for clarity: ENTRY, SL, TP1, and TP2.
⚠️ Note: This tool only provides entry signals and visual risk/reward guidance. It does not manage exits dynamically. Manual trade management is recommended.
This script is intended for active intraday traders, especially on lower timeframes like 3-minute, 5-minute or 15-minute charts.
---------------------------------------------------------------------------------------------------------------
🔧 Recommended companion indicator:
For better confirmation and visual tracking of the RSI/VWMA cross logic, it is strongly recommended to also use the companion script:
🔹 Relative Strength Index (with MA based cross signals)
→ Shows RSI and its moving average visually, with triangle plots on every valid cross.
→ Matches exactly the RSI/VWMA behavior used in this entry signal script.
📌 Important:
After adding the RSI script to your chart, make sure to set:
RSI Length = 14
MA Type = VWMA
MA Length = 20
This ensures it visually matches the logic used by the entry signal script.
Both indicators are fully open source and meant to be used together — especially when trading manually.
Bitcoin Macro Trend Map [Ox_kali]
## Introduction
__________________________________________________________________________________
The “Bitcoin Macro Trend Map” script is designed to provide a comprehensive analysis of Bitcoin’s macroeconomic trends. By leveraging a unique combination of Bitcoin-specific macroeconomic indicators, this script helps traders identify potential market peaks and troughs with greater accuracy. It synthesizes data from multiple sources to offer a probabilistic view of market excesses, whether overbought or oversold conditions.
This script offers significant value for the following reasons:
1. Holistic Market Analysis : It integrates a diverse set of indicators that cover various aspects of the Bitcoin market, from investor sentiment and market liquidity to mining profitability and network health. This multi-faceted approach provides a more complete picture of the market than relying on a single indicator.
2. Customization and Flexibility : Users can customize the script to suit their specific trading strategies and preferences. The script offers configurable parameters for each indicator, allowing traders to adjust settings based on their analysis needs.
3. Visual Clarity : The script plots all indicators on a single chart with clear visual cues. This includes color-coded indicators and background changes based on market conditions, making it easy for traders to quickly interpret complex data.
4. Proven Indicators : The script utilizes well-established indicators like the EMA, NUPL, PUELL Multiple, and Hash Ribbons, which are widely recognized in the trading community for their effectiveness in predicting market movements.
5. A New Comprehensive Indicator : By integrating background color changes based on the aggregate signals of various indicators, this script essentially creates a new, comprehensive indicator tailored specifically for Bitcoin. This visual representation provides an immediate overview of market conditions, enhancing the ability to spot potential market reversals.
Optimal for use on timeframes ranging from 1 day to 1 week , the “Bitcoin Macro Trend Map” provides traders with actionable insights, enhancing their ability to make informed decisions in the highly volatile Bitcoin market. By combining these indicators, the script delivers a robust tool for identifying market extremes and potential reversal points.
## Key Indicators
__________________________________________________________________________________
Macroeconomic Data: The script combines several relevant macroeconomic indicators for Bitcoin, such as the 10-month EMA, M2 money supply, CVDD, Pi Cycle, NUPL, PUELL, MRVR Z-Scores, and Hash Ribbons (Full description bellow).
Open Source Sources: Most of the scripts used are sourced from open-source projects that I have modified to meet the specific needs of this script.
Recommended Timeframes: For optimal performance, it is recommended to use this script on timeframes ranging from 1 day to 1 week.
Objective: The primary goal is to provide a probabilistic solution to identify market excesses, whether overbought or oversold points.
## Originality and Purpose
__________________________________________________________________________________
This script stands out by integrating multiple macroeconomic indicators into a single comprehensive tool. Each indicator is carefully selected and customized to provide insights into different aspects of the Bitcoin market. By combining these indicators, the script offers a holistic view of market conditions, helping traders identify potential tops and bottoms with greater accuracy. This is the first version of the script, and additional macroeconomic indicators will be added in the future based on user feedback and other inputs.
## How It Works
__________________________________________________________________________________
The script works by plotting each macroeconomic indicator on a single chart, allowing users to visualize and interpret the data easily. Here’s a detailed look at how each indicator contributes to the analysis:
EMA 10 Monthly: Uses an exponential moving average over 10 monthly periods to signal bullish and bearish trends. This indicator helps identify long-term trends in the Bitcoin market by smoothing out price fluctuations to reveal the underlying trend direction.Moving Averages w/ 18 day/week/month.
Credit to @ryanman0
M2 Money Supply: Analyzes the evolution of global money supply, indicating market liquidity conditions. This indicator tracks the changes in the total amount of money available in the economy, which can impact Bitcoin’s value as a hedge against inflation or economic instability.
Credit to @dylanleclair
CVDD (Cumulative Value Days Destroyed): An indicator based on the cumulative value of days destroyed, useful for identifying market turning points. This metric helps assess the Bitcoin market’s health by evaluating the age and value of coins that are moved, indicating potential shifts in market sentiment.
Credit to @Da_Prof
Pi Cycle: Uses simple and exponential moving averages to detect potential sell points. This indicator aims to identify cyclical peaks in Bitcoin’s price, providing signals for potential market tops.
Credit to @NoCreditsLeft
NUPL (Net Unrealized Profit/Loss): Measures investors’ unrealized profit or loss to signal extreme market levels. This indicator shows the net profit or loss of Bitcoin holders as a percentage of the market cap, helping to identify periods of significant market optimism or pessimism.
Credit to @Da_Prof
PUELL Multiple: Assesses mining profitability relative to historical averages to indicate buying or selling opportunities. This indicator compares the daily issuance value of Bitcoin to its yearly average, providing insights into when the market is overbought or oversold based on miner behavior.
Credit to @Da_Prof
MRVR Z-Scores: Compares market value to realized value to identify overbought or oversold conditions. This metric helps gauge the overall market sentiment by comparing Bitcoin’s market value to its realized value, identifying potential reversal points.
Credit to @Pinnacle_Investor
Hash Ribbons: Uses hash rate variations to signal buying opportunities based on miner capitulation and recovery. This indicator tracks the health of the Bitcoin network by analyzing hash rate trends, helping to identify periods of miner capitulation and subsequent recoveries as potential buying opportunities.
Credit to @ROBO_Trading
## Indicator Visualization and Interpretation
__________________________________________________________________________________
For each horizontal line representing an indicator, a legend is displayed on the right side of the chart. If the conditions are positive for an indicator, it will turn green, indicating the end of a bearish trend. Conversely, if the conditions are negative, the indicator will turn red, signaling the end of a bullish trend.
The background color of the chart changes based on the average of green or red indicators. This parameter is configurable, allowing adjustment of the threshold at which the background color changes, providing a clear visual indication of overall market conditions.
## Script Parameters
__________________________________________________________________________________
The script includes several configurable parameters to customize the display and behavior of the indicators:
Color Style:
Normal: Default colors.
Modern: Modern color style.
Monochrome: Monochrome style.
User: User-customized colors.
Custom color settings for up trends (Up Trend Color), down trends (Down Trend Color), and NaN (NaN Color)
Background Color Thresholds:
Thresholds: Settings to define the thresholds for background color change.
Low/High Red Threshold: Low and high thresholds for bearish trends.
Low/High Green Threshold: Low and high thresholds for bullish trends.
Indicator Display:
Options to show or hide specific indicators such as EMA 10 Monthly, CVDD, Pi Cycle, M2 Money, NUPL, PUELL, MRVR Z-Scores, and Hash Ribbons.
Specific Indicator Settings:
EMA 10 Monthly: Options to customize the period for the exponential moving average calculation.
M2 Money: Aggregation of global money supply data.
CVDD: Adjustments for value normalization.
Pi Cycle: Settings for simple and exponential moving averages.
NUPL: Thresholds for unrealized profit/loss values.
PUELL: Adjustments for mining profitability multiples.
MRVR Z-Scores: Settings for overbought/oversold values.
Hash Ribbons: Options for hash rate moving averages and capitulation/recovery signals.
## Conclusion
__________________________________________________________________________________
The “Bitcoin Macro Trend Map” by Ox_kali is a tool designed to analyze the Bitcoin market. By combining several macroeconomic indicators, this script helps identify market peaks and troughs. It is recommended to use it on timeframes from 1 day to 1 week for optimal trend analysis. The scripts used are sourced from open-source projects, modified to suit the specific needs of this analysis.
## Notes
__________________________________________________________________________________
This is the first version of the script and it is still in development. More indicators will likely be added in the future. Feedback and comments are welcome to improve this tool.
## Disclaimer:
__________________________________________________________________________________
Please note that the Open Interest liquidation map is not a guarantee of future market performance and should be used in conjunction with proper risk management. Always ensure that you have a thorough understanding of the indicator’s methodology and its limitations before making any investment decisions. Additionally, past performance is not indicative of future results.
Volume Profile with Node Detection [LuxAlgo]The Volume Profile with Node Detection is a charting tool that allows visualizing the distribution of traded volume across specific price levels and highlights significant volume nodes or clusters of volume nodes that traders may find relevant in utilizing in their trading strategies.
🔶 USAGE
The volume profile component of the script serves as the foundation for node detection while encompassing all the essential features expected from a volume profile. See the sub-sections below for more detailed information about the indicator components and their usage.
🔹 Peak Volume Node Detection
A volume peak node is identified when the volume profile nodes for the N preceding and N succeeding nodes are lower than that of the evaluated one.
Displaying peak volume nodes along with their surrounding N nodes (Zones or Clusters) helps visualize the range, typically representing consolidation zones in the market. This feature enables traders to identify areas where trading activity has intensified, potentially signaling periods of price consolidation or indecision among market participants.
🔹 Trough Volume Node Detection
A volume trough node is identified when the volume profile nodes for the N preceding and N succeeding nodes are higher than that of the evaluated one.
🔹 Highest and Lowest Volume Nodes
Both the highest and lowest volume areas play significant roles in trading. The highest volume areas typically represent zones of strong price acceptance, where a significant amount of trading activity has occurred. On the other hand, the lowest volume areas signify price levels with minimal trading activity, often indicating zones of price rejection or areas where market participants have shown less interest.
🔹 Volume profile
Volume profile is calculated based on the volume of trades that occur at various price levels within a specified timeframe. It divides the price range into discrete price intervals, typically known as "price buckets" or "price bars," and then calculates the total volume of trades that occur at each price level within those intervals. This information is then presented graphically as a histogram or profile, where the height of each bar represents the volume of trades that occurred at that particular price level.
🔶 SETTINGS
🔹 Volume Nodes
Volume Peaks: Toggles the visibility of either the "Peaks" or "Clusters" on the chart, depending on the specified percentage for detection.
Node Detection Percent %: Specifies the percentage for the Volume Peaks calculation.
Volume Troughs: Toggles the visibility of either the "Troughs" or "Clusters" on the chart, depending on the specified percentage for detection.
Node Detection Percent %: Specifies the percentage for the Volume Troughs calculation.
Volume Node Threshold %: A threshold value specified as a percentage is utilized to detect peak/trough volume nodes. If a value is set, the detection will disregard volume node values lower than the specified threshold.
Highest Volume Nodes: Toggles the visibility of the highest nodes for the specified count.
Lowest Volume Nodes: Toggles the visibility of the lowest nodes for the specified count.
🔹 Volume Profile - Components
Volume Profile: Toggles the visibility of the volume profile with either classical display or gradient display.
Value Area Up / Down: Color customization option for the volume nodes within the value area of the profile.
Profile Up / Down Volume: Color customization option for the volume nodes outside of the value area of the profile.
Point of Control: Toggles the visibility of the point of control, allowing selection between "developing" or "regular" modes. Sets the color and width of the point of control line accordingly.
Value Area High (VAH): Toggles the visibility of the value area high level and allows customization of the line color.
Value Area Low (VAL): Toggles the visibility of the value area low level and allows customization of the line color.
Profile Price Labels: Toggles the visibility of the Profile Price Levels and allows customization of the text size of the levels.
🔹 Volume Profile - Display Settings
Profile Lookback Length: Specifies the length of the profile lookback period.
Value Area (%): Specifies the percentage for calculating the value area.
Profile Placement: Specify where to display the profile.
Profile Number of Rows: Specify the number of rows the profile will have.
Profile Width %: Adjusts the width of the rows in the profile relative to the profile range.
Profile Horizontal Offset: Adjusts the horizontal offset of the profile when it is selected to be displayed on the right side of the chart.
Value Area Background: Toggles the visibility of the value area background and allows customization of the fill color.
Profile Background: Toggles the visibility of the profile background and allows customization of the fill color.
🔶 RELATED SCRIPTS
Supply-Demand-Profiles
Liquidity-Sentiment-Profile
Thanks to our community for recommending this script. For more conceptual scripts and related content, we welcome you to explore by visiting >>> LuxAlgo-Scripts .
High Volume AlertThe High Volume Alert Script is developed for all traders focusing on volume analysis in their trading strategies, providing alerts for unusually high trading volumes during specified trading sessions.
Functionality:
Volume Moving Average Calculation:
Average Volume = Moving Average(Volume) = Sum of last the x last candles Volume
Where n is the user-defined period for the moving average calculation (denoted as movingaverageinput in the script. This moving average serves as the baseline to compare current volume levels against historical averages.
High Volume Detection:
HighVolume = CurrentVolume >= (MA(Volume) x HighVolumeRatio)
Here, HighVolumeRatio is a user-defined multiplier that sets the threshold for what is considered high volume. If the current volume exceeds this threshold (the product of the moving average of volume and the HighVolumeRatio ), the script identifies this as a high-volume event.
Session Filtering:
The script further refines these alerts by ensuring they only trigger during the specified trading session, enhancing relevance for traders interested in specific market hours. This session is defined by the sess and timezone parameters.
Visualisation and Alerts:
If high volume is detected (HighVolume = True), the script colors the volume bar with the highVolumeColor . If the option is selected, it also changes the color of the candlestick to either highVolumeCandleColorUp (for bullish candles) or highVolumeCandleColorDown (for bearish candles), depending on the price movement within the high-volume period. An alert is generated through the alertcondition function when high volume is detected during the specified session, notifying the trader of potentially significant market activity.
Application in Trading:
This indicator serves traders who prioritize volume as a leading indicator of potential price movement. High trading volumes may indicate the presence of significant market activity, often associated with events like news releases, market openings, or large trades, which can precede price movements.
Originality and Practicality:
This script is self-developed, aiming to fill the gap in automatic ratio adjusted volume alerts within the TradingView environment.
Conclusion:
The High Volume Alert Script is an essential tool for traders who integrate volume analysis into their strategy, offering tailored alerts and visual cues for high volume periods.
Compliance and Limitations:
The script complies with TradingView scripting standards, ensuring no lookahead bias and maintaining real-time data integrity. However, its utility depends on the availability on volume data, and please be aware that forex pairs never offer real volume data, this tool is best used with a exchange traded symbol.
Bond Yield SpreadThe Bond Yield Spread Script is developed for forex traders, offering an automated tool to calculate the bond yield spread between two countries associated with the forex pair displayed on the chart.
Functionality:
The script starts by identifying the base and quote currencies of the current forex pair and aligns them with their corresponding national bond symbols based on user-selected maturity, with options ranging from 01Y to 30Y. It calculates the yield spread by subtracting the bond yield associated with the quote country from that of the base country, following the formula:
Yield Spread = Yield(Base Country) − Yield(Quote Country)
which is then displayed as a plot line on the chart.
This script relies solely on TradingView's internal yield symbols, with the following calculation:
"currency" => "first two letters" + maturity
And maturity, in this case, is the value that is configured in the indicator settings, for example:
"EUR" => "EU" + "02Y" will result in EU02Y -> which will be used in the formula, depending on the quote or base currency.
Application in Trading:
This indicator is invaluable for traders employing carry trading strategies or assessing currency strength based on traded interest rates as an indicator. A higher yield spread typically indicates a stronger currency, because the return obtained for holding the currency is higher.
Originality and Practicality:
This script is self-developed, aiming to fill the gap in automatic bond yield comparisons within the TradingView environment. It is particularly beneficial for traders focusing on macroeconomic factors affecting forex markets. Unlike other scripts, it integrates various bond maturities into one tool, enhancing its utility and application range.
Conclusion:
Designed for traders incorporating macroeconomics in their strategy, this script will be useful to calculate the bond yield differences automatically without having to enter a new formula for every new currency pair.
Compliance and Limitations:
The script complies with TradingView scripting standards, ensuring no lookahead bias and maintaining real-time data integrity. However, its utility depends on the comprehensive availability of bond yield data within TradingView. As not all countries issue bonds for each listed maturity, this may limit the script’s application for certain currency pairs or specific maturities.
RAINBOW AVERAGES - INDICATOR - (AS) - 1/3
-INTRODUCTION:
This is the first of three scripts I intend to publish using rainbow indicators. This script serves as a groundwork for the other two. It is a RAINBOW MOVING AVERAGES indicator primarily designed for trend detection. The upcoming script will also be an indicator but with overlay=false (below the chart, not on it) and will utilize RAINBOW BANDS and RAINBOW OSCILLATOR. The third script will be a strategy combining all of them.
RAINBOW moving averages can be used in various ways, but this script is mainly intended for trend analysis. It is meant to be used with overlay=true, but if the user wishes, it can be viewed below the chart. To achieve this, you need to change the code from overlay=true to false and turn off the first switch that plots the rainbow on the chart (or simply move the indicator to a new pane below). By doing this, you will be able to see how all four conditions used to detect trends work on the chart. But let's not get ahead of ourselves.
-WHAT IS IT:
In its simplest form, this indicator uses 10 moving averages colored like a rainbow. The calculation is as follows:
MA0: This is the main moving average and can be defined with the type (SMA, EMA, RMA, WMA, SINE), length, and price source. However, the second moving average (MA1) is calculated using MA0 as its source, MA2 uses MA1 as the data source, and so on, until the last one, MA9. Hence, there are 10 moving averages. The first moving average is special as all the others derive from it. This indicator has many potential uses, such as entry/exit signals, volatility indication, and stop-loss placement, but for now, we will focus on trend detection.
-TREND DETECTION:
The indicator offers four different background color options based on the user's preference:
0-NONE: No background color is applied as no trend detection tools is being used (boring)
1-CHANGE: The background color is determined by summing the changes of all 10 moving averages (from two bars). If the sum is positive and not falling, the background color is GREEN. If the sum is negative and not rising, the background color is RED. From early testing, it works well for the beginning of a movement but not so much for a lasting trend.
2-RAINBW: The background color is green when all the moving averages are in ascending order, indicating a bullish trend. It is red when all the moving averages are in descending order, indicating a bearish trend. For example, if MA1>MA2>MA3>MA4..., the background color is green. If MA1 threshold, and red indicates width < -threshold.
4-DIRECT: The background color is determined by counting the number of moving averages that are either above or below the input source. If the specified number of moving averages is above the source, the background color is green. If the specified number of moving averages is below the source, the background color is red. If all ten MAs are below the price source, the indicator will show 10, and if all ten MAs are above, it will show -10. The specific value will be set later in the settings (same for 3-TSHOLD variant). This method works well for lasting trends.
Note: If the indicator is turned into a below-chart version, all four color options can be seen as separate indicators.
-PARAMETERS - SETTINGS:
The first line is an on/off switch to plot the skittles indicator (and some info in the tooltip). The second line has already been discussed, which is the background color and the selection of the source (only used for MA0!).
The line "MA1: TYP/LEN" is where we define the parameters of MA0 (important). We choose from the types of moving averages (SMA, EMA, RMA, WMA, SINE) and set the length.
Important Note: It says MA1, but it should be MA0!.
The next line defines whether we want to smooth MA1 (which is actually MA0) and the period for smoothing. When smoothing is turned on, MA0 will be smoothed using a 3-pole super smoother. It's worth noting that although this only applies to MA0, as the other MAs are derived from it, they will also be smoothed.
In the line below, we define the type and length of MAs for MA2 (and other MAs except MA0). The same type and length are used for MA1 to MA9. It's important to remember that these values should be smaller. For example, if we set 55, it means that MA1 is the average of 55 periods of MA0, MA2 will be 55 periods of MA1, and so on. I encourage trying different combinations of MA types as it can be easily adjusted for ur type of trading. RMA looks quirky.
Moving on to the last line, we define some inputs for the background color:
TSH: The threshold value when using 3-TSHOLD-BGC. It's a good idea to change the chart to a pane below for easier adjustment. The default values are based on EURUSD-5M.
BG_DIR: The value that must be crossed or equal to the MA score if using 4-DIRECT-BGC. There are 10 MAs, so the maximum value is also 10. For example, if you set it to 9, it means that at least 9 MAs must be below/above the price for the script to detect a trend. Higher values are recommended as most of the time, this indicator oscillates either around the maximum or minimum value.
-SUMMARY OF SETTINGS:
L1 - PLOT MAs and general info tooltip
L2 - Select the source for MA0 and type of trend detection.
L3 - Set the type and length of MA0 (important).
L4 - Turn smoothing on/off for MA0 and set the period for super smoothing.
L5 - Set the type and length for the rest of the MAs.
L6 - Set values if using 4-DIRECT or 3-TSHOLD for the trend detection.
-OTHERS:
To see trend indicators, you need to turn off the plotting of MAs (first line), and then choose the variant you want for the background color. This will plot it on the chart below.
Keep in mind that M1 int settings stands for MA0 and MA2 for all of the 9 MAs left.
Yes, it may seem more complicated than it actually is. In a nutshell, these are 10 MAs, and each one after MA0 uses the previous one as its source. Plus few conditions for range detection. rest is mainly plots and colors.
There are tooltips to help you with the parameters.
I hope this will be useful to someone. If you have any ideas, feedback, or spot errors in the code, LET ME KNOW.
Stay tuned for the remaining two scripts using skittles indicators and check out my other scripts.
-ALSO:
I'm always looking for ideas for interesting indicators and strategies that I could code, so if you don't know Pinescript, just message me, and I would be glad to write your own indicator/strategy for free, obviously.
-----May the force of the market be with you, and until we meet again,
MTFT VWAPs Auto AnchoredMulti Time Frame Tools
Multi Time Frame Tools (MTFT) is a suite of scripts aimed to establish a standard timeframe-based color scheme. This can be utilized to overlay different timeframes calculations/values over a single timeframe. As one example, this would allow to observe the 5-month moving average, 5-week moving average, and 5-day moving average overlaid over each other. This would allow to study a chart, get accustomed to the color scheme and study all these at the same time much easier.
All indicators calculated using the below specific timeframes as input, will always use the color scheme outlined below. This is to get you in habit of recognizing the different timeframes overlaid in top of each other. These can be personalized.
Longer TF analysis.
Yearly - Black
Semi-Annual - Yellow
Quarterly - White
Monthly - Maroon
Weekly - Royal Blue
Daily - Lime
Shorter TF analysis.
4 hour - Fuchsia
1 hour - Orange
30 min - Red
15 min - Brown
10 min - Purple
5 min - Lilac
All color coordination is able to be modified in either the “Inputs” or “Style” section. If you need to make changes, make sure to select “Save as Default” on the bottom right of the settings menu.
Recommended Chart Color Layout
I played around with color coordination a lot. The final product was what worked best for me. I personally use the following chart settings to accent all available TF colors.
-> Click on the settings wheel on your chart. -> Click on “Appearance”.
Background - Solid -> On the top row pick the 6th color from the left.
Vert Grid Lines and Horz Grid Lines -> On the top row pick the 7th color from the left.
You may of course change these and the indicator line colors as you like.
Adding indicator to Chart
-> Open the TradingView “Indicators & Strategies” library, the icon has “ƒx”. -> All premium scripts will be located under “Invite-Only Scripts” -> Click indicator to add to your chart.
MTFT VWAPs Auto Anchored
The Anchored Volume-Weighted Average Price, Anchored VWAP, is a commonly discussed FinTwit tool. I personally found it through Brian Shannon on Twitter. I have seen big FinTwit accounts solely focus on this strategy alone and have seen other big FinTwit accounts mix with their other indicators. I will be providing very basic info to utilize this script; it is up to you to dive deep into learning this strategy. I am not an expert with the tool or a financial advisor. As with all aspects of life, I recommend you research, learn, discern and practice extensively in order to become a master.
The script has the following features.
1. Three user selected time frames auto anchored VWAPS. It will auto anchor to the start of the timeframe. Timeframes(TF) include: Yearly(Y), Semi-annually(S), Quarterly(Q), Monthly(M), Weekly(W), Daily(D), and 4 hour. Image below shows the D candlestick as the active timeframe, the anchored VWAPs for the Year, Quarter, and Month.
2. Auto hide lower timeframe calculations. Auto Hide feature will hide smaller TF calculations when a larger timeframe is selected as the display TF. Example, when the Daily timeframe candlestick selected the Weekly and Daily Anchored VWAPs are hidden because they produce very noisy results. If a lower TF is selected such as the 30 min candlestick, the previously hidden Daily and Weekly Open Anchored VWAPs are now displayed. Notice that this specific indicator calculates different with every different timeframe that is selected. The lower TF calculations are more accurate as they include additional information. Image below shows the 30 min timeframe selected with the Daily, Weekly, and Monthly Open Anchored VWAPs displayed.
3. Auto Anchor using Pivot High/Low locations. Script finds the pivot highs/lows with a user selected look back/forward period. Additionally, as new pivot highs/lows appear you can choose to keep up to 4 each previous pivot high/low anchored VWAPs displayed. Image below has a 40 look back/forward period selected, and 2 past AVWAPs enabled.
You may notice in the above image that there is a gap between the AVWAP plot and the marked pivot point. This is not something that can be avoided as the script has to look forward in order to verify the pivot. The calculation is still correct, this can be verified by manually adding an “Anchored VWAP” drawing and seeing the values align. Image below shows that they match. White lines are the manually added “Anchored VWAP” drawings. If you verify this for yourself, make sure to select the correct input source in the settings of the drawing.
4. Auto Anchored on IPO High/Low. Looks for the first available candlestick in a chart and anchors to the high and low. This is useful with newer companies with recent IPOs.
IMPORTANT NOTE to TradingView admin: One of the lessons I would consider most important in attaining clarity regarding trading, is “TheStrat” by Rob Smith. His lesson on “actionable signals” is something that can be applied to any strategy. For this reason, I am including “MTFT TheStrat Patterns Pro” script in all images that will depict confluence for a better trade selection.
Example using TheStrat Pro MTFT with this indicator.
Look for a “TheStrat actionable signal” or a “TheStrat Reversal signal” on a smaller timeframe that has an instance of this indicator on a larger timeframe calculation that is in range of the candlestick that formed your actionable signal. This means that the indicators plot you are observing must be above the low and below the high of the candlestick that is the actionable signal/reversal signal.
The Image below shows what this would look like with this indicator. The selected candlestick is the 2-day, it shows a 1-3-1 pattern and the Quarter Anchored VWAP in range. This actionable signal could be played in both directions. If the high is breached, you would enter a long position from the high of the inside candlestick. If the low is breached than you would enter a short. For targets you would look at the previous pivots, for this example all targets were hit. Note that the “Entry” and “Targets” line were added manually and are not part of the script. Setups won’t always play out so nice and clean, but given that there is so many stocks and so many signals this is just a thought to improve the quality of the signal as it has extra confluence. If you are interested in learning further, research ‘TheStrat’ by Rob Smith.
MTFT EMA CloudsMulti Time Frame Tools
Multi Time Frame Tools (MTFT) is a suite of scripts aimed to establish a standard timeframe-based color scheme. This can be utilized to overlay different timeframes calculations/values over a single timeframe. As one example, this would allow to observe the 5-month moving average, 5-week moving average, and 5-day moving average overlaid over each other. This would allow to study a chart, get accustomed to the color scheme and study all these at the same time much easier.
All indicators calculated using the below specific timeframes as input, will always use the color scheme outlined below. This is to get you in habit of recognizing the different timeframes overlaid in top of each other. These can be personalized.
Longer TF analysis.
Yearly - Black
Semi-Annual - Yellow
Quarterly - White
Monthly - Maroon
Weekly - Royal Blue
Daily - Lime
Shorter TF analysis.
4 hour - Fuchsia
1 hour - Orange
30 min - Red
15 min - Brown
10 min - Purple
5 min - Lilac
All color coordination is able to be modified in either the “Inputs” or “Style” section. If you need to make changes, make sure to select “Save as Default” on the bottom right of the settings menu.
Recommended Chart Color Layout
I played around with color coordination a lot. The final product was what worked best for me. I personally use the following chart settings to accent all available TF colors.
-> Click on the settings wheel on your chart. -> Click on “Appearance”.
Background - Solid -> On the top row pick the 6th color from the left.
Vert Grid Lines and Horz Grid Lines -> On the top row pick the 7th color from the left.
You may of course change these and the indicator line colors as you like.
Adding indicator to Chart
-> Open the TradingView “Indicators & Strategies” library, the icon has “ƒx”. -> All premium scripts will be located under “Invite-Only Scripts” -> Click indicator to add to your chart.
*** MTFT EMA Clouds ***
The Exponential Moving Average Clouds, EMA Clouds, is a commonly discussed FinTwit tool. I personally found it through Ripster47 and PatternProfits on Twitter. I have seen big FinTwit accounts solely focus on this strategy alone and have seen other big FinTwit accounts mix with their other indicators. I will be providing very basic info to utilize this script; it is up to you to dive deep into learning this strategy. I am not an expert with the tool or a financial advisor. As with all aspects of life, I recommend you research, learn, discern and practice extensively in order to become a master.
The script has the following features.
1. Two user selected timeframes(TF) per script instance. Timeframes include: Quarter, Month, Weekly, Daily, 4 hour, 1 hour, 30 min, 15 min, 10 min, and 5 min candlestick data.
2. Five Unique Clouds per selected timeframe can each be individually enabled/disabled. Cloud pairs include: 5&13, 8&9, 34&50, 72&89, and 180&200.
Below are some examples of how switching between multiple TF’s could assist you in identifying patterns and resistance/support easier. Below are 4 different timeframe EMA Clouds plotted over similar areas. What supports/resistances do you see?
Weekly timeframe selected with Quarterly Clouds
Weekly timeframe selected with Monthly Clouds
Daily timeframe selected with Weekly Clouds
1-hour timeframe selected with Daily Clouds.
This is meant to show you that the EMA Clouds often serve as resistance/support on multiple timeframes.
3. Force a specific cloud on both selected timeframes. Maybe you want to see how one cloud on several TFs looks over the same chart. Here I added two instances of the script in order to show 4 different TF clouds (Q, M, W, and D). Then I selected the “8_9” on “Force single cloud” for each instance, which will force only the selected cloud to be forced on all the selected time frames.
IMPORTANT NOTE: One of the lessons I would consider most important in attaining clarity regarding trading, is “TheStrat” by Rob Smith. His lesson on “actionable signals” is something that can be applied to any strategy. For this reason, I am including “MTFT TheStrat Patterns Pro” script in all images that will depict confluence for a better trade selection.
Example using TheStrat Pro MTFT with this indicator.
Look for a “TheStrat actionable signal” or a “TheStrat Reversal signal” on a smaller timeframe that has an instance of this indicator on a larger timeframe calculation that is in range of the candlestick that formed your actionable signal. This means that the indicators plot you are observing must be above the low and below the high of the candlestick that is the actionable signal/reversal signal. Image below shows what this would look like with this indicator.
The Image below shows what this would look like with this indicator. The selected candlestick is the Weekly, it shows a hammer actionable signal and the Monthly 34 EMA in range. This actionable signal is meant to be played in a long position. If the high is breached, you would enter a long position from the high of the hammer candlestick. For targets you would look at the previous pivots, for this example all targets were hit. Note that the “Entry” and “Targets” line were added manually and are not part of the script. Setups won’t always play out so nice and clean, but given that there is so many stocks and so many signals this is just a thought to improve the quality of the signal as it has extra confluence. If you are interested in learning further, research ‘TheStrat’ by Rob Smith.
Auto Harmonic Patterns - V2Hello traders. After getting good response to my earlier Harmonic patterns scripts, decided to deep dive a bit and make it bit more interesting and detailed.
Before I explain further on the script, few important things to note:
The script is very intensive and may often timeout or give memory error. If that happens, just reload the script. It may not work on smaller timeframes due to same reason. At this point, we cannot do much about it.
This should not be considered as strategy - but as a tool to make your harmonic based trades. Options are available to set your entry, stop and target levels based on your trading methods.
If there is timeout - try reducing the scope by disabling few zigzags and reducing Max depth from the settings.
Script does not show historical patterns. It will only show patterns which are currently in trade. This is done to reduce errors due to number of lines and labels. To track past patterns, you can either replay previous bars or use stats table.
After lots of deliberation, this script is released as protected script instead of invite only. Use it well :)
OVERVIEW
This script combines earlier two scripts defined on harmonic patterns:
Multi-ZigZag-Harmonic-Patterns
Multi-Level-ZigZag-Harmonic-Patterns
Merging these two the present script allows up to 4 Zigzags to be used and each zigzag comes with one multi level Zigzag. Logic of deriving multi level zigzag is described here: Multi-Level-Zigzag
On top of that each combination scans last 11 pivots (Max Depth) with all permutation combinations to come up with better pattern recognition. So, the complexity of the scan is 8 * (MaxDepth-4)!/2
In order to speed up the execution, you can chose to enable only the zigzags you are looking to trade instead of allowing all 4. Multi level zigzags cannot be enabled/disabled separately at this point.
INPUT PARAMETERS
Target and Stops
Entry Ratio : Minimal retracement from AD or CD (whichever is max) to enter into order
Stop Ratio : Retracement or extension from AC or AD (whichever is max) to stop or invalidate the trade. Negative values mean that stops are placed beyond D away from A/C whereas positive valus mean stops are placed between A/C and D. Please note Stop Ratio should be lesser than Entry Ratio. Wider the better for longevity of trade.
Target Ratios: Different points where profits can be taken. This is not optimized for strategy or pattern. To be used as per individual trading method.
Trailing Start Stage: This tells after what stage to start trailing stop loss. Trail will be based on difference between past subsequent levels. For example, if instrument is trading beyond Target 4, trail distance will be target4-target3
Pattern detection settings
Error Percent : Error threshold to be allowed for pattern recognition
Max Depth : Number of last pivots to consider for scanning patterns with m X n permutation. Increased numbers show more patterns but also slows down the script and may even lead to timeout.
Wait For Confirmation : Pattern recognition only happens on confirmed zigzags. Stats will show higher success rates and lesser patterns if this option is selected. That is because, there will be lag in identifying the patterns as confirming zigzags takes few bars.
Ignore if Entry Crossed : Only effective when Wait For Confirmation is enabled. If price has gone beyond entry when pattern has formed, system will ignore the pattern and do not try to plot it on charts.
Stats and Display
Show Trade Stats, Open Trades Stat Position, Closed Trades Stat Position can be used to display trade statistics and set different positions for tables display
Show Targets : Display/Hide target and stop levels
Show XABCD : Display/Hide XABCD marking on patterns
Show Ratios : Display/Hide harmonic ratios used for pattern recognition
Zigzags ( 1 - 4 )
L1 Length is primary zigzag length.
L2 Length is for deriving multi level zigzag based on L1
Patterns
Allows enabling and disabling several patterns. List includes:
Classic Patterns
Gartley
Bat
Butterfly
Crab
Deep Crab
Cypher
Shark
NenStar
Anti Patterns
Anti NenStar
Anti Shark
Anti Cypher
Anti Shark
Anti Crab
Anti Butterfly
Anti Bat
Anti Gartley
Navarro 200
Comprehensive list of patterns are listed here: Complete List of Harmonic Pattern Ratios
TRADE STATISTICS
Open Trade Stats consists of following fields
Zigzag - Zigzag length and level 2 length
Status - Current status of the trade. This includes - Awaiting Entry, In Trade, Target<1-4> Reached
X, A, B, C, D - price levels of X, A, B, C, D
Entry, Stop and Target Levels - These are same as what is shown on chart for present trades but presented in tabular way for better readability in case there are more number of trades.
Rows will have green background on bullish trades and red background color for bearish trades. Bullish and bearish colors can be set in Generic Color input settings. Text Color will be same as Zigzag line color which can be set in settings.
Closed Trade Stats consists of following fields
Overridden - these are patterns which are formed but overridden by other pattern based on the same XABC but with different D with better risk reward. Pattern is overridden only if entry/stop is not reached
Failed - These are the patterns which are successfully formed. But, price failed to hit entry before hitting stop. Hence, these signals are not taken as trade.
Stopped - These are the signals where price successfully hit Entry. But, failed to reach any of the targets before hitting Stop or Trailing Stop (If Trail Start Stage is set to Entry)
Target(1-4) - These numbers imply number of trades which successfully hit the respective target level but failed to hit next target level (Except target 4 which is the last target level)
Close stats show numbers based on Bullish and Bearish signals generated. It also shows numbers based on the zigzag length and level 2 length.
PriceCatch Euronext Paris Stocks Screener v1Hi,
Tradingview community. Warm Greetings.
Euronext Paris Stocks Screener
I am sharing a script that screens Euronext Paris stocks for Probable Breakout Buy signal and Stop-Reverse Buy Signal. This script may prove to be useful to traders who trade Euronext Paris listed stocks.
I have already shared the script "PriceCatch Signals Buy Signals" that marks the following levels on the chart.
Probable Breakout Buy Level
Stop-Reverse Buy Level
While the script "PriceCatch Signals Buy Signals" can be used independently, this script is intended to be used with the script "PriceCatch Signals Buy Signals".
Used together, these two scripts may help you identify probable buy opportunities. The purpose of this script is to help screen stocks quickly without manually going through every stock in your watchlist.
Please read the Notes of the script "PriceCatch Signals Buy Signals" for explanation of its functionality.
Stocks Set
As Tradingview limits the number of security function calls, to get around, you have to select Set1 to screen first set of 25 stocks and then select Set2 to screen next set of 25 stocks.
List of Euronext Paris stocks
ACA AI AIR ALCRB ALGAU ALO ALONC ALVTX ATO BN BNP CA CLA COFA CS DBG DG EDF
EL ELIOR EN ENGI ETL FDJ FR FTI GET GLE MCPHY OR ORA POXEL PUB RI
RNO RXL SAF SAN SGO SMCP STLA STM SU TE TTE VIE VIV VK VLA WLN
Chart resolution vs. Script resolution
I have noticed that if the chart resolution is set to 15 minutes time-frame and the screener resolution is selected as 2 Hours, then the results are correct. However, if the screener resolution is set to 5 minutes, then the results are not accurate. This is not an issue with script. So scanning higher time-frames from a lower time-frame chart works better. My advice however, is better to set the chart resolution to the same interval as screener resolution for sure results.
As usual with price action, longer time-frames produce more reliable signals.
SOME CHARTS
Chart set to Daily time-frame and shows Derichebourg stock. Screener shows a Stop-Reverse Buy Opportunity on GET.
s3.tradingview.com
Example 2
Chart set to 30 min. timeframe and shows Derichebourg stock. Screener shows a Stop-Reverse Buy Opportunity on VIV .
s3.tradingview.com
NOTE - PRIOR TO USING THIS SCRIPT
Please remember that the script is shared with absolutely no assurances about usability and any warranties whatsoever and as a responsible trader, please satisfy yourselves thoroughly and use it only if you are satisfied it works for you. Remember, you are 100% responsible for your actions. If you understand and accept that, you may use the script.
QUERIES/FEEDBACK
Please PM me.
Regards to all and wish everyone all the best with trading.
Dankland Playground Moneymaker - V2“version 2” of my playground bot script. Its essentially a powerhouse suite of strategies. Although it is similar to the previous script, it nets different results as sections have been changed. Such as the somewhat reluctant removal of the Chande Momentum... The RSIs have also been updated, this was one of the main changes. RSIS now include a Moving Average cross of RSI to generate signals above and below the given thresholds instead of simply on crossing a threshold. This should give greater functionality overall. Most functions including Moving Averages have been updated to include a wider range of kinds of moving averages. This includes not just the moving average cross, but MACD and RSIs as well. I tried to perform the same upgrade on the %B, Stochastics and SMI, but hit the unpacked code limit of 60,000 lines... So, more “versions” will have to come for future “upgrades”, with the recognition that there will be cases where the old, “downgraded” versions may perform better and that some people (like myself) may continue to use them on some markets until I/we devise superior settings on the new ones for said markets. For instance, instead of replacing my 1 hr BTCUSD bot (where I used the now deleted Chande to pretty pleasing affect...) I made a new one for LINKUSD 10 min so I can have both running for now and work on replacing the BTCUSD later.
How it works basically is this... you have 16 oscillators which can all be used as independently as you wish. They can be split up into different groups or ran all together.
When in separate groups they should not be able to sell eachothers positions without triggering a full stop loss by turning the Independence/Stop All switches on. Every single oscillator has its own entry and exit position sizing which can be stated as either a percent of balance or a flat amount of contracts (or both combined). Each oscillator has a minimum amount of profit you can tell it to sell it, which is calculated from the average cost of your current position, which does include all groups. This works out to help you average out better entry and exit prices, essentially a method of DCAing.
You can set the minimum sale amount, which is to keep it from placing orders below your exchanges minimum dollar trade cost.
All this functionality combined also ensures more accurate back tests by ensuring that the script simply cannot spend money it doesn't see as in the balance, whereas other scripts will use a percentage of equity, and once 100% of your equity is in BTC for instance, it will keep buying more BTC for free and thus spoof up backtest numbers. If you look through the strategies here, many people claim to have amazing scripts and then you look into it and this is happening and skewing their numbers. These people are either very ignorant or what they made or scam artists and trolls in my opinion.
This version also includes On Bar Close switches for each oscillator. When switched on, signals are only allowed to generate on Bar Close. This helps to prevent retriggering from live signals, which when you are running this many oscillators, will become a problem! However, in most cases, you do not need to generate signals intrabar, as backtests will show, ignoring intrabar buys and sells (intrabar stop losses can still be very important though!) won't exactly keep you from high profitability strategies, but rather, allowing elements of chaos from live indicators moving up and down intrabar will, in fact, drift your actual results further and further from the backtest. You want an accurate backtest though. So choose wisely when you turn these off and you will do better.
The included oscillators are as follows:
NO MORE Chande Momentum cross – REMOVED – I was hitting PINE code limits here so I had to make choices and this one simply had to go. Begone!
Moving Average Cross
MACD cross
%B Bollinger cross
Stochastic cross + region filter
Stochastic RSI cross + region filter
SMII cross and region filter
Three RMIs
Know-Sure-Thing line-cross
Coppock Curve line-cross
TRIX line-cross
RSI of MA w/ MA cross
RSI of MA of KST w/ MA cross
RSI of MA of Coppock Curve w/ MA cross
RSI of MA of Trix w/ MA cross
So the idea is that this is essentially multiple strategies combined into one backtestable house. Balance is calculated for all position sizes in order to try to prevent false entries that plague so many scripts (IE, you set pyramiding to 2, each buy $1000, initial balance $1000, and yet it buys two orders off the bat for $2000 total and nets 400% profit because the second was considered free, happens on 90+% of scripts on Tradingview if you aren't very very careful!)
You tune each indicator and position size them so that they work together as well as you can and in doing so you are able to create a single backtest that is capable of running a bot, essentially, between multiple strategies - you can run a slower Moving Average cross, a faster SMI cross or MACD , or Bollinger that grabs big moves only, all the while having MACD trade small bonuses along the way. This way you can weight the Risk to Reward of each against eachother.
I will not try to claim this is something you can open and with no work have the best bot on the planet. This scripts intention is to take a lot of relatively common trading strategies and combine them under on roof with some risk management and the ability to weigh each against eachother.
If you are looking for a super advanced singular algorithm that tries to capture every peak and valley exactly on the dot, this is not for you. If you are looking for a tool with a high level of customizability, with a publisher who intends to update it to the best of his ability in accordance to seeking to make the best product that I personally can make for both myself and the community (because I will be using this myself of course!) that was specifically designed with the intention of performing well in spot markets by averaging low entry costs and high exit costs, this is for you! That is the exact intention here. It can certainly work with margin, but you will have to take extra care in setting your stop losses. I intend to make a version capable of going short which will be included as part of the package. It may take some work to keep all of the risk management working as well for shorts though. There will be more scripts added to the “package” as I hit the limit on this one a few times and have had to keep some ideas out already.
The current backtest shown is hand-optimized by myself for Link /USD 10min market (Binance US – shouldn't need much work to fit to other exchange markets) with multiple stop losses.
Pinescript - Common Label & Line Array Functions Library by RRBPinescript - Common Label & Line Array Functions Library by RagingRocketBull 2021
Version 1.0
This script provides a library of common array functions for arrays of label and line objects with live testing of all functions.
Using this library you can easily create, update, delete, join label/line object arrays, and get/set properties of individual label/line object array items.
You can find the full list of supported label/line array functions below.
There are several libraries:
- Common String Functions Library
- Standard Array Functions Library
- Common Fixed Type Array Functions Library
- Common Label & Line Array Functions Library
- Common Variable Type Array Functions Library
Features:
- 30 array functions in categories create/update/delete/join/get/set with support for both label/line objects (45+ including all implementations)
- Create, Update label/line object arrays from list/array params
- GET/SET properties of individual label/line array items by index
- Join label/line objects/arrays into a single string for output
- Supports User Input of x,y coords of 5 different types: abs/rel/rel%/inc/inc% list/array, auto transforms x,y input into list/array based on type, base and xloc, translates rel into abs bar indexes
- Supports User Input of lists with shortened names of string properties, auto expands all standard string properties to their full names for use in functions
- Live Output for all/selected functions based on User Input. Test any function for possible errors you may encounter before using in script.
- Output filters: hide all excluded and show only allowed functions using a list of function names
- Output Panel customization options: set custom style, color, text size, and line spacing
Usage:
- select create function - create label/line arrays from lists or arrays (optional). Doesn't affect the update functions. The only change in output should be function name regardless of the selected implementation.
- specify num_objects for both label/line arrays (default is 7)
- specify common anchor point settings x,y base/type for both label/line arrays and GET/SET items in Common Settings
- fill lists with items to use as inputs for create label/line array functions in Create Label/Line Arrays section
- specify label/line array item index and properties to SET in corresponding sections
- select label/line SET function to see the changes applied live
Code Structure:
- translate x,y depending on x,y type, base and xloc as specified in UI (required for all functions)
- expand all shortened standard property names to full names (required for create/update* from arrays and set* functions, not needed for create/update* from lists) to prevent errors in label.new and line.new
- create param arrays from string lists (required for create/update* from arrays and set* functions, not needed for create/update* from lists)
- create label/line array from string lists (property names are auto expanded) or param arrays (requires already expanded properties)
- update entire label/line array or
- get/set label/line array item properties by index
Transforming/Expanding Input values:
- for this script to work on any chart regardless of price/scale, all x*,y* are specified as % increase relative to x0,y0 base levels by default, but user can enter abs x,price values specific for that chart if necessary.
- all lists can be empty, contain 1 or several items, have the same/different lengths. Array Length = min(min(len(list*)), mum_objects) is used to create label/line objects. Missing list items are replaced with default property values.
- when a list contains only 1 item it is duplicated (label name/tooltip is also auto incremented) to match the calculated Array Length
- since this script processes user input, all x,y values must be translated to abs bar indexes before passing them to functions. Your script may provide all data internally and doesn't require this step.
- at first int x, float y arrays are created from user string lists, transformed as described below and returned as x,y arrays.
- translated x,y arrays can then be passed to create from arrays function or can be converted back to x,y string lists for the create from lists function if necessary.
- all translation logic is separated from create/update/set functions for the following reasons:
- to avoid redundant code/dependency on ext functions/reduce local scopes and to be able to translate everything only once in one place - should be faster
- to simplify internal logic of all functions
- because your script may provide all data internally without user input and won't need the translation step
- there are 5 types available for both x,y: abs, rel, rel%, inc, inc%. In addition to that, x can be: bar index or time, y is always price.
- abs - absolute bar index/time from start bar0 (x) or price (y) from 0, is >= 0
- rel - relative bar index/time from cur bar n (x) or price from y0 base level, is >= 0
- rel% - relative % increase of bar index/time (x) or price (y) from corresponding base level (x0 or y0), can be <=> 0
- inc - relative increment (step) for each new level of bar index/time (x) or price (y) from corresponding base level (x0 or y0), can be <=> 0
- inc% - relative % increment (% step) for each new level of bar index/time (x) or price (y) from corresponding base level (x0 or y0), can be <=> 0
- x base level >= 0
- y base level can be 0 (empty) or open, close, high, low of cur bar
- single item x1_list = "50" translates into:
- for x type abs: "50, 50, 50 ..." num_objects times regardless of xloc => x = 50
- for x type rel: "50, 50, 50 ... " num_objects times => x = x_base + 50
- for x type rel%: "50%, 50%, 50% ... " num_objects times => x_base * (1 + 0.5)
- for x type inc: "0, 50, 100 ... " num_objects times => x_base + 50 * i
- for x type inc%: "0%, 50%, 100% ... " num_objects times => x_base * (1 + 0.5 * i)
- when xloc = xloc.bar_index each rel*/inc* value in the above list is then subtracted from n: n - x to convert rel to abs bar index, values of abs type are not affected
- x1_list = "0, 50, 100, ..." of type rel is the same as "50" of type inc
- x1_list = "50, 50, 50, ..." of type abs/rel/rel% produces a sequence of the same values and can be shortened to just "50"
- single item y1_list = "2" translates into (ragardless of yloc):
- for y type abs: "2, 2, 2 ..." num_objects times => y = 2
- for y type rel: "2, 2, 2 ... " num_objects times => y = y_base + 2
- for y type rel%: "2%, 2%, 2% ... " num_objects times => y = y_base * (1 + 0.02)
- for y type inc: "0, 2, 4 ... " num_objects times => y = y_base + 2 * i
- for y type inc%: "0%, 2%, 4% ... " num_objects times => y = y_base * (1 + 0.02 * i)
- when yloc != yloc.price all calculated values above are simply ignored
- y1_list = "0, 2, 4" of type rel% is the same as "2" with type inc%
- y1_list = "2, 2, 2" of type abs/rel/rel% produces a sequence of the same values and can be shortened to just "2"
- you can enter shortened property names in lists. To lookup supported shortened names use corresponding dropdowns in Set Label/Line Array Item Properties sections
- all shortened standard property names must be expanded to full names (required for create/update* from arrays and set* functions, not needed for create/update* from lists) to prevent errors in label.new and line.new
- examples of shortened property names that can be used in lists: bar_index, large, solid, label_right, white, left, left, price
- expanded to their corresponding full names: xloc.bar_index, size.large, line.style_solid, label.style_label_right, color.white, text.align_left, extend.left, yloc.price
- all expanding logic is separated from create/update* from arrays and set* functions for the same reasons as above, and because param arrays already have different types, implying the use of final values.
- all expanding logic is included in the create/update* from lists functions because it seemed more natural to process string lists from user input directly inside the function, since they are already strings.
Creating Label/Line Objects:
- use study max_lines_count and max_labels_count params to increase the max number of label/line objects to 500 (+3) if necessary. Default number of label/line objects is 50 (+3)
- all functions use standard param sequence from methods in reference, except style always comes before colors.
- standard label/line.get* functions only return a few properties, you can't read style, color, width etc.
- label.new(na, na, "") will still create a label with x = n-301, y = NaN, text = "" because max default scope for a var is 300 bars back.
- there are 2 types of color na, label color requires color(na) instead of color_na to prevent error. text_color and line_color can be color_na
- for line to be visible both x1, x2 ends must be visible on screen, also when y1 == y2 => abs(x1 - x2) >= 2 bars => line is visible
- xloc.bar_index line uses abs x1, x2 indexes and can only be within 0 and n ends, where n <= 5000 bars (free accounts) or 10000 bars (paid accounts) limit, can't be plotted into the future
- xloc.bar_time line uses abs x1, x2 times, can't go past bar0 time but can continue past cur bar time into the future, doesn't have a length limit in bars.
- xloc.bar_time line with length = exact number of bars can be plotted only within bar0 and cur bar, can't be plotted into the future reliably because of future gaps due to sessions on some charts
- xloc.bar_index line can't be created on bar 0 with fixed length value because there's only 1 bar of horiz length
- it can be created on cur bar using fixed length x < n <= 5000 or
- created on bar0 using na and then assigned final x* values on cur bar using set_x*
- created on bar0 using n - fixed_length x and then updated on cur bar using set_x*, where n <= 5000
- default orientation of lines (for style_arrow* and extend) is from left to right (from bar 50 to bar 0), it reverses when x1 and x2 are swapped
- price is a function, not a line object property
Variable Type Arrays:
- you can't create an if/function that returns var type value/array - compiler uses strict types and doesn't allow that
- however you can assign array of any type to another array of any type creating an arr pointer of invalid type that must be reassigned to a matching array type before used in any expression to prevent error
- create_any_array2 uses this loophole to return an int_arr pointer of a var type array
- this works for all array types defined with/without var keyword and doesn't work for string arrays defined with var keyword for some reason
- you can't do this with var type vars, only var type arrays because arrays are pointers passed by reference, while vars are actual values passed by value.
- you can only pass a var type value/array param to a function if all functions inside support every type - otherwise error
- alternatively values of every type must be passed simultaneously and processed separately by corresponding if branches/functions supporting these particular types returning a common single type result
- get_var_types solves this problem by generating a list of dummy values of every possible type including the source type, tricking the compiler into allowing a single valid branch to execute without error, while ignoring all dummy results
Notes:
- uses Pinescript v3 Compatibility Framework
- uses Common String Functions Library, Common Fixed Type Array Functions Library, Common Variable Type Array Functions Library
- has to be a separate script to reduce the number of local scopes/compiled file size, can't be merged with another library.
- lets you live test all label/line array functions for errors. If you see an error - change params in UI
- if you see "Loop too long" error - hide/unhide or reattach the script
- if you see "Chart references too many candles" error - change x type or value between abs/rel*. This can happen on charts with 5000+ bars when a rel bar index x is passed to label.new or line.new instead of abs bar index n - x
- create/update_label/line_array* use string lists, while create/update_label/line_array_from_arrays* use array params to create label/line arrays. "from_lists" is dropped to shorten the names of the most commonly used functions.
- create_label/line_array2,4 are preferable, 5,6 are listed for pure demonstration purposes only - don't use them, they don't improve anything but dramatically increase local scopes/compiled file size
- for this reason you would mainly be using create/update_label/line_array2,4 for list params or create/update_label/line_array_from_arrays2 for array params
- all update functions are executed after each create as proof of work and can be disabled. Only create functions are required. Use update functions when necessary - when list/array params are changed by your script.
- both lists and array item properties use the same x,y_type, x,y_base from common settings
- doesn't use pagination, a single str contains all output
- why is this so complicated? What are all these functions for?
- this script merges standard label/line object methods with standard array functions to create a powerful set of label/line object array functions to simplify manipulation of these arrays.
- this library also extends the functionality of Common Variable Type Array Functions Library providing support for label/line types in var type array functions (any_to_str6, join_any_array5)
- creating arrays from either lists or arrays adds a level of flexibility that comes with complexity. It's very likely that in your script you'd have to deal with both string lists as input, and arrays internally, once everything is converted.
- processing user input, allowing customization and targeting for any chart adds a whole new layer of complexity, all inputs must be translated and expanded before used in functions.
- different function implementations can increase/reduce local scopes and compiled file size. Select a version that best suits your needs. Creating complex scripts often requires rewriting your code multiple times to fit the limits, every line matters.
P.S. Don't rely too much on labels, for too often they are fables.
List of functions*:
* - functions from other libraries are not listed
1. Join Functions
Labels
- join_label_object(label_, d1, d2)
- join_label_array(arr, d1, d2)
- join_label_array2(arr, d1, d2, d3)
Lines
- join_line_object(line_, d1, d2)
- join_line_array(arr, d1, d2)
- join_line_array2(arr, d1, d2, d3)
Any Type
- any_to_str6(arr, index, type)
- join_any_array4(arr, d1, d2, type)
- join_any_array5(arr, d, type)
2. GET/SET Functions
Labels
- label_array_get_text(arr, index)
- label_array_get_xy(arr, index)
- label_array_get_fields(arr, index)
- label_array_set_text(arr, index, str)
- label_array_set_xy(arr, index, x, y)
- label_array_set_fields(arr, index, x, y, str)
- label_array_set_all_fields(arr, index, x, y, str, xloc, yloc, label_style, label_color, text_color, text_size, text_align, tooltip)
- label_array_set_all_fields2(arr, index, x, y, str, xloc, yloc, label_style, label_color, text_color, text_size, text_align, tooltip)
Lines
- line_array_get_price(arr, index, bar)
- line_array_get_xy(arr, index)
- line_array_get_fields(arr, index)
- line_array_set_text(arr, index, width)
- line_array_set_xy(arr, index, x1, y1, x2, y2)
- line_array_set_fields(arr, index, x1, y1, x2, y2, width)
- line_array_set_all_fields(arr, index, x1, y1, x2, y2, xloc, extend, line_style, line_color, width)
- line_array_set_all_fields2(arr, index, x1, y1, x2, y2, xloc, extend, line_style, line_color, width)
3. Create/Update/Delete Functions
Labels
- delete_label_array(label_arr)
- create_label_array(list1, list2, list3, list4, list5, d)
- create_label_array2(x_list, y_list, str_list, xloc_list, yloc_list, style_list, color1_list, color2_list, size_list, align_list, tooltip_list, d)
- create_label_array3(x_list, y_list, str_list, xloc_list, yloc_list, style_list, color1_list, color2_list, size_list, align_list, tooltip_list, d)
- create_label_array4(x_list, y_list, str_list, xloc_list, yloc_list, style_list, color1_list, color2_list, size_list, align_list, tooltip_list, d)
- create_label_array5(x_list, y_list, str_list, xloc_list, yloc_list, style_list, color1_list, color2_list, size_list, align_list, tooltip_list, d)
- create_label_array6(x_list, y_list, str_list, xloc_list, yloc_list, style_list, color1_list, color2_list, size_list, align_list, tooltip_list, d)
- update_label_array2(label_arr, x_list, y_list, str_list, xloc_list, yloc_list, style_list, color1_list, color2_list, size_list, align_list, tooltip_list, d)
- update_label_array4(label_arr, x_list, y_list, str_list, xloc_list, yloc_list, style_list, color1_list, color2_list, size_list, align_list, tooltip_list, d)
- create_label_array_from_arrays2(x_arr, y_arr, str_arr, xloc_arr, yloc_arr, style_arr, color1_arr, color2_arr, size_arr, align_arr, tooltip_arr, d)
- create_label_array_from_arrays4(x_arr, y_arr, str_arr, xloc_arr, yloc_arr, style_arr, color1_arr, color2_arr, size_arr, align_arr, tooltip_arr, d)
- update_label_array_from_arrays2(label_arr, x_arr, y_arr, str_arr, xloc_arr, yloc_arr, style_arr, color1_arr, color2_arr, size_arr, align_arr, tooltip_arr, d)
Lines
- delete_line_array(line_arr)
- create_line_array(list1, list2, list3, list4, list5, list6, d)
- create_line_array2(x1_list, y1_list, x2_list, y2_list, xloc_list, extend_list, style_list, color_list, width_list, d)
- create_line_array3(x1_list, y1_list, x2_list, y2_list, xloc_list, extend_list, style_list, color_list, width_list, d)
- create_line_array4(x1_list, y1_list, x2_list, y2_list, xloc_list, extend_list, style_list, color_list, width_list, d)
- create_line_array5(x1_list, y1_list, x2_list, y2_list, xloc_list, extend_list, style_list, color_list, width_list, d)
- create_line_array6(x1_list, y1_list, x2_list, y2_list, xloc_list, extend_list, style_list, color_list, width_list, d)
- update_line_array2(line_arr, x1_list, y1_list, x2_list, y2_list, xloc_list, extend_list, style_list, color_list, width_list, d)
- update_line_array4(line_arr, x1_list, y1_list, x2_list, y2_list, xloc_list, extend_list, style_list, color_list, width_list, d)
- create_line_array_from_arrays2(x1_arr, y1_arr, x2_arr, y2_arr, xloc_arr, extend_arr, style_arr, color_arr, width_arr, d)
- update_line_array_from_arrays2(line_arr, x1_arr, y1_arr, x2_arr, y2_arr, xloc_arr, extend_arr, style_arr, color_arr, width_arr, d)
Fractal Trend Trading System [DW]This is an advanced utility that uses fractal dimension and trend information to generate useful insights about price activity and potential trade signals.
In this script, my Advanced FDI algorithm is used to estimate the fractal dimension of the dataset over a user defined period.
Fractal dimension, unlike spatial or topological dimension, measures how complexity or detail in an "object" changes as its unit of measurement changes, rather than the number of axes it occupies.
Many forms of time series data (seismic data, ECG data, financial data, etc.) have been theoretically shown to have limited fractal properties.
Consequently, we can estimate the fractal dimension from this data to get an approximate measure of how rough or convoluted the data stream is.
Financial data's fractal dimension is limited to between 1 and 2, so it can also be used to roughly approximate the Hurst Exponent by the relationship H = 2 - D.
When D=1.5, data statistically behaves like a random walk. D above 1.5 can be considered more rough or "mean reverting" due to the increase in complexity of the series.
D below 1.5 can be considered more prone to trending due to the decrease in complexity of the series.
In this script, you are given the option to apply my Band Shelf EQ algorithm to the dataset before estimating dimension.
This enables you to transform your data and observe how its newly measured complexity changes the outputs.
Whether you want to give emphasis to some frequencies, isolate specific bands, or completely alter the shape of your waveform, EQ filtration makes for an interesting experience.
The default EQ preset in this script removes the low shelf, then attenuates low end and high end oscillations.
The dominant cyclical components (bands 3 - 5 on default settings) are passed at 100%, keeping emphasis on 8 to 64 sample per cycle oscillations.
The estimated dimension is then used to calculate the High Dimension Zone and the Error Bands.
Both of these components are great for analyzing trends and for estimating support and resistance values.
The High Dimension Zone is composed of a high line, low line, and midline that update their values when D is at or above the user defined zone activation threshold.
The zone is then averaged over a user defined amount of updates and zone width is multiplied by a user defined value.
The Error Bands are composed of a high, low, and middle band that are calculated using an error adjusted adaptive filter algorithm that utilizes dimension as the smoothing constant modulator.
The basis filter for the error bands has two calculation types built in:
-> MA - Calculates the filters as adaptive moving averages modulated by D.
-> WAP - Calculates the filters as adaptive weighted average prices modulated by D.
The WAP starting point can be based on the High Dimension Zone being moved or a user defined interval.
You can also define the WAP's minimum and maximum periods for additional control of the initial and decayed sensitivity states.
The alpha (smoothing constant) modulator can be fine tuned using the designated dimension thresholds.
When D is at or below the low dimension threshold, the filter is most responsive, and vice-versa for the high dimension threshold.
Alpha is then multiplied by a user defined amount for additional control of sensitivity.
Band width is then multiplied by a user defined value.
A Hull transformation can be optionally performed on the zone averaging and band filter algorithms as well, which will alter the frequency and phase responses at the cost of some overshoot.
This transformation is the same as a typical Hull equation, but with custom filters being used instead of WMA.
The calculated outputs are then used to gauge the trend for signal and color scheme calculations.
First, a dominant trend indication is selected from its designated dropdown tab.
The available built in indications to choose from are:
-> Band Trend (Outer) - Detects band breakouts and saves their direction to gauge trend.
-> Band Trend (Median) - Uses disparity between source and the band median to gauge trend.
-> Zone Trend (Expansion) - Detects when the high fractal zone expands and saves its direction to gauge trend.
-> Zone Trend (Outer Levels) - Detects zone breakouts and saves their direction to gauge trend.
-> Zone Trend (Median) - Uses disparity between source and the zone median to gauge trend.
Then the trend output is optionally filtered before triggering signals.
There are multiple trend filtration options built into this script that can be used individually or in unison:
-> Filter Trend With High Fractal Zone - Filters the trend using the specified zone level or combination of levels with either disparity or crossover conditions.
There is a set of options for bullish and bearish trends.
-> Filter Trend With Error Bands - Filters the trend using the specified band level or combination of levels with either disparity or crossover conditions.
There is a set of options for bullish and bearish trends.
-> Filter Trend With Band - Zone Disparity Condition - Filters the trend using the specified band level, zone level, and disparity direction.
There is a set of options for bullish and bearish trends.
-> Filter By Zone That Moves With The Trend - Filters the specified trend by detecting when the high fractal zone’s direction correlates.
-> Filter By Bands That Move With The Trend - Filters the specified trend by detecting when the error bands’ direction correlates.
-> Filter Using Wave Confirmation - Filters the specified trend by detecting when source is in a correlating wave with user defined length.
You can also choose separate lengths for bullish and bearish trends.
-> Filter By Bars With Decreasing Dimension - Filters the specified trend by detecting when fractal dimension is decreasing, suggesting source is approaching more linear movement.
The filtered trend output is then used to generate entry and exit signals.
There are multiple options included to fine tune how these signals behave.
For entries, you have the following options built in:
-> Limit Entry Dimension - Limits the range of dimensional values that are acceptable for entry with user defined thresholds.
This can be incredibly useful for filtering out entries taken when price is moving in a more complex pattern,
or when price is approaching a peak and you’re a little late to the party.
-> Enable Position Increase Signals - Enables more entry signals to fire up to a user defined number of times when a position is active.
This is helpful for those who incrementally increase their positions, or for those who want to see additional signals as reference.
-> Limit Number Of Consecutive Trades - Limits the number of consecutive trades that can be opened in a single direction to a user defined maximum.
This is especially useful for markets that only trend for brief durations.
By limiting the amount of trades you take in one direction, you have more control over your market exposure.
There is a set of these options for both bullish and bearish entries.
For exits, you have the following options built in:
-> Include Exit Signals From High Fractal Zone - Enables exit signals generated from either crossover or disparity conditions between price and a specified zone level.
-> Include Exit Signals From Error Bands - Enables exit signals generated from either crossover or disparity conditions between price and a specified zone level.
-> Include Inactive Trend Output For Exits - Triggers exit signals when the filtered trend output is an inactive value.
-> Dimension Target Exit Method - Triggers exit signals based on fractal dimension hitting a user defined threshold.
You can either choose for the exit to trigger instantly, or after dimension reverts from the target by a user specified amount.
-> Exit At Maximum Entry Dimension - Triggers exit signals when dimension exceeds the maximum entry limit.
-> Number Of Signals Required For 100% Exit - Controls the number of exit signals required to close the position.
You can also choose whether or not to include partial exits.
Enabling them will fire a partial signal when an exit occurs, but the position is not 100% closed.
Of course, there is a set of these options for bullish and bearish exits.
In my opinion, no system is complete without some sort of risk management protocol in place.
So in this script, bullish and bearish trades come equipped with optional protective SL and TP levels with signals.
The levels can be fixed or trailing, and are calculated with a user defined scale.
The available scales for SL and TP distances are ticks, pips, points, % of price, ATR, band range, zone range, or absolute numerical value.
Now what if you have some awesome signals of your own that you’d like to use in conjunction with this script?
Well good news. You can!
In addition to all of the customizable features built into the script, you can integrate your own signals into the system using the external data inputs and linking your script.
This adds a whole new layer of customization to the system.
With external signals, you can use your own custom dominant trend indication, filter the dominant trend, and trigger exits and protective stops using custom signals.
The signal input is an integer format. 1=Bull Signal, -1=Bear Signal, 2=Bull Exit, -2=Bear Exit, 3=Bull SL Hit, -3=Bear SL Hit, 4=Bull TP Hit, -4=Bear TP Hit.
You can also use the external input as a custom source value for either dimension or global sources to further tailor the system to your liking.
The color scheme in this script utilizes two custom gradients that can be chosen for bar and background colors:
-> Trend (Dominant or Filtered) - A polarized gradient that shows green scaled values for bullish trend and red scaled values for bearish trend.
The colors are brighter and more vibrant as perceived trend strength increases.
-> Dimension - A thermal gradient that shows cooler colors when dimension is higher, and hotter colors when dimension is lower.
Both color schemes are dependent on the designated dimension thresholds.
The script comes equipped with alerts for entries, additional entries, exits, partial exits, and protective stops so you can automate more and stare at your charts less.
And lastly, the script comes equipped with additional external outputs to further your analysis:
-> Entry And Exit Signals - Outputs in the same format as the external signal input with these additions: 5=Bull Increase, -5=Bear Increase, 6=Bull Reduce, -6=Bear Reduce.
You can use these to send to other scripts, including strategy types so you can backtest your performance on TV’s engine.
-> Dominant Trend - Outputs 1 for bullish and -1 for bearish. Can be used to send trend signals to another script.
I designed this tool with individuality in mind.
Every trader has a different situation. We trade on different schedules, markets, perspectives, etc.
Analytical systems of basically any type are very seldom (if ever) “one size fits all” and usually require a fair amount of modification to achieve desirable results.
That’s why this system is so freely customizable.
Your system should be flexible enough to be tailored to your analytical style, not the other way around.
When a system is limited in what you can control, it limits your experience, analytical potential, and possibly even profitability.
This is not your typical pre-set system. If you're looking for just another "buy, sell" script that requires minimal thought, look elsewhere.
If you’re ready to dive into a powerful technical system that allows you to tailor the experience to your style, welcome!
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
This is a premium script, and access is granted on an invite-only basis.
To gain access, get a copy of the system overview, or for additional inquiries, send me a direct message.
I look forward to hearing from you!
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
General Disclaimer:
Trading stocks, futures, Forex, options, ETFs, cryptocurrencies or any other financial instrument has large potential rewards, but also large potential risk.
You must be aware of the risks and be willing to accept them in order to invest in stocks, futures, Forex, options, ETFs or cryptocurrencies.
Don’t trade with money you can’t afford to lose.
This is neither a solicitation nor an offer to Buy/Sell stocks, futures, Forex, options, ETFs, cryptocurrencies or any other financial instrument.
No representation is being made that any account will or is likely to achieve profits or losses of any kind.
The past performance of any trading system or methodology is not necessarily indicative of future results.
TFi Pivot Reversal StudyThe Pivot Reversal Study script uses pivot points to create a support and resistance level; based on this levels the script creates virtual stop-market orders to catch the trend if the price is crossing the pivot lines.
A configurable trailing-stop and stop-loss is being used to exit an open position.
The entry and exit points are visualized in the chart via green arrows and crosses; the position follows the exact behavior of the strategy script.
The study also creates alerts, which follow the exact position of the entry/exit markers. Via the input parameter "Alert Message Type" it is possible to select a predefined alertcondition message; right now the script supports a generic default message and a trading setup for Alertatron.
How to use
The study works with all timeframes; the current chart setting is using a 15min timeframe. The strategy enters about 10 trades per day, depending on the used settings.
I'm also providing a "strategy" version of this study, which can be used to backtest the strategy.
How to access
This strategy is a "Invite Only" script. You can can subscribe or purchase the strategy ; please use the link below or send me a message via Tradingview to obtain access to the strategy and study script.
For enabling the script in your Tradingview chart window, click on "Indicators" and select "Invite-Only Scripts".
Full list of alerts:
'Enter Long' ... Enter long position
'Enter Short' ... Enter short position
'Exit Long PT' ... Exit long position - profit-target reached
'Exit Short PT' ... Exit short position - profit-target reached
'Exit Long SL' ... Exit long position - stop-loss
'Exit Short SL' ... Exit short position - stop-loss
Full list of parameters:
"Pivot Left Bars" ... Number of bars on the left of the pivot point - used for pivot/peak detection
"Pivot Right Bars" ... Number of bars on the right of the pivot point - used for pivot/peak detection
"Entry Offset " ... Entry price offset after crossing pivot line (in %)
"Trailing Activation Level " ... Trailing stop activation level above/below average price (in %)
"Trailing Offset " ... Trailing stop price (in %)
"Stop Loss " ... Absolute stop-loss (in %)
"Alert Message Type" ... Alert message type: generic or Alertatron
"Backtest ..." ... Backtest timeframe; area outside this timeframe will be grayed out
I'm looking forward to any feedback, reviews and change requests!
Total Trend Follow Strategy with Pyramid and DCA
Introduction
This is a Pine 4 trend following strategy. It has a twin study with several alerts. The design intent is to produce a commercial grade signal generator that can be adapted to any symbol and interval. Ideally, the script is reliable enough to be the basis of an automated trading system web-hooked to a server with API access to crypto, forex and stock brokerages. The strategy can be run in three different modes: long, short and bidirectional.
As a trend following strategy, the behavior of the script is to buy on strength and sell on weakness. As such the trade orders maintain its directional bias according to price pressure. What you will see on the chart is long positions on the left side of the mountain and short on the right. Long and short positions are not intermingled as long as there exists a detectable trend. This is extremely beneficial feature in long running bull or bear markets. The script uses multiple setups to avoid the situation where you got in on the trend, took a small profit but couldn’t get back in because the logic is waiting for a pullback or some other intricate condition.
Deep draw-downs are a characteristic of trend following systems and this system is no different. However, this script makes use of the TradingView pyramid feature accessible from the properties tab. Additional trades can be placed in the draw-down space increasing the position size and thereby increasing the profit or loss when the position finally closes. Each individual add on trade increases its order size as a multiple of its pyramid level. This makes it easy to comply with NFA FIFO Rule 2-43(b) if the trades are executed here in America. The inputs dialog box contains various settings to adjust where the add on trades show up, under what circumstances and how frequent if at all. Please be advised that pyramiding is an advanced feature and can wipe out your account capital if your not careful. During the backtest use modest setting with realistic capital until you discover what you think you can handle.
In addition to pyramiding this script employs DCA which enables users to experiment with loss recovery techniques. This is another advanced feature which can increase the order size on new trades in response to stopped out or winning streak trades. The script keeps track of debt incurred from losing trades. When the debt is recovered the order size returns to the base amount specified in the TV properties tab. The inputs for this feature include a limiter to prevent your account from depleting capital during runaway markets. The main difference between DCA and pyramids is that this implementation of DCA applies to new trades while pyramids affect open positions. DCA is a popular feature in crypto trading but can leave you with large “bags” if your not careful. In other markets, especially margin trading, you’ll need a well funded account and much experience.
Consecutive loss limit can be set to report a breach of the threshold value. Every stop hit beyond this limit will be reported on a version 4 label above the bar where the stop is hit. Use the location of the labels along with the summary report tally to improve the adaptability of system. Don’t simply fit the chart. A good trading system should adapt to ever changing market conditions. On the study version the consecutive loss limit can be used to halt live trading on the broker side (Managed manually).
Design
This script uses nine indicators on two time frames. The chart (primary) interval and one higher time frame which is based on the primary. The higher time frame identifies the trend for which the primary will trade. I’ve tried to keep the higher time frame around five times greater than the primary. The original trading algorithms are a port from a much larger program on another trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The alligator itself is used to identify the trend main body.
The entire script is around 1700 lines of Pine code which is the maximum incidental size given the TradingView limits: local scopes, run-time duration and compile time. I’ve been working on this script for over a year and have tested it on various instruments stocks, forex and crypto. It performs well on higher liquidity markets that have at least a year of historical data. Though it can be configured to work on any interval between 5 minutes and 1 day, trend trading is generally a longer term paradigm. For day trading the 10 to 15 minute interval will allow you to catch momentum breakouts. For intraweek trades 30 minutes to 1 hour should give you a trade every other a day. Four hours and above are for seasoned deep pocket traders. Originally, this script contained both range trading and trend following logic but had to be broken into separate scripts due to the aforementioned limitations.
Inputs to the script use cone centric measurements in effort to avoid exposing adjustments to the various internal indicators. The goal was to keep the inputs relevant to the actual trade entry and exit locations as opposed to a series of MA input values and the like. As a result the strategy exposes over 50 inputs grouped into long or short sections. Inputs are available for the usual minimum profit and stop-loss as well as safeguards, trade frequency, DCA, modes, presets, reports and lots of calibrations. The inputs are numerous, I’m aware. Unfortunately, at this time, TradingView does not offer any other method to get data in the script. The usual initialization files such as cnf, cfg, ini, json and xml files are currently unsupported.
Example configurations for various instruments along with a detailed PDF user manual is available.
Indicator Repainting And Anomalies
Indicator repainting is an industry wide problem which mainly occurs when you mix backtest data with real-time data. It doesn't matter which platform you use some form of this condition will manifest itself on your chart over time. The critical aspect being whether live trades on your broker’s account continue to match your TradingView study. Since this trading system is featured as two separate scripts, indicator repainting is addressed in the study version. The strategy (this script) is intended to be used on historical data to determine the appropriate trading inputs to apply in the study. As such, the higher time frame of this strategy will indeed repaint. Please do not attempt to trade from the strategy. Please see the study version for more information.
One issue that comes up when comparing the strategy with the study is that the strategy trades show on the chart one bar later than the study. This problem is due to the fact that “strategy.entry()” and “strategy_exit()” do not execute on the same bar called. The study, on the other hand, has no such limitation since there are no position routines. However, alerts that are subsequently fired off when triggered in the study are dispatched from the TradingView servers one bar later from the study plot. Therefore the alert you actually receive on your cell phone matches the strategy plot but is one bar later than the study plot. A lot can happen in four hours if you are trading off a 240 bar.
Please be aware that the data source matters. Cryptocurrency has no central tick repository so each exchange supplies TradingView its feed. Even though it is the same symbol the quality of the data and subsequently the bars that are supplied to the chart varies with the exchange. This script will absolutely produce different results on different data feeds of the same symbol. Be sure to backtest this script on the same data you intend to receive alerts for. Any example settings I share with you will always have the exchange name used to generate the test results.
Usage
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configs that I use for my own trading that I can share with you along with a PDF which describes each input in detail. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
The input dialog box contains over 50 inputs separated into seven sections. Each section is identified as such with a makeshift separator input. There are three main areas that must to be configured: long side, short side and settings that apply to both. The rest of the inputs apply to pyramids, DCA, reporting and calibrations. The following steps address these three main areas only. You will need to get your backtest in the black before moving on to the more advanced features
Step 1. Setup the Base currency and order size in the properties tab.
Step 2. Select the calculation presets in the Instrument Type field.
Step 3. Select “No Trade” in the Trading Mode field.
Step 4. Select the Histogram indicator from section 3. You will be experimenting with different ones so it doesn’t matter which one you try first.
Step 5. Turn on Show Markers in Section 3.
Step 6. Go to the chart and checkout where the markers show up. Blue is up and red is down. Long trades show up along the blue markers and short trades on the red.
Step 7. Make adjustments to Base To Vertex and Vertex To Base net change and roc in section 3. Use these fields to move the markers to where you want trades to be. Blue is long and red is short.
Step 8. Try a different indicator from section 3 and repeat Step 7 until you find the best match for this instrument on this interval. This step is complete when the Vertex settings and indicator combination produce the most favorable results.
Step 9. Turn off Show Markers in Section 3.
Step 10. Enable the Symmetrical and Deviation calculation models at the top of section 5 and 6 (Symmetrical, Deviation).
Step 11. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale)
Step 12. Return to step 3 and select a Trading Mode (Long, Short, BiDir, Flip Flop). If you are planning to trade bidirectionally its best to configure long first then short. Combine them with BiDir or Flip Flop after setting up both sides of the trade individually.
Step 13. Trades should be showing on the chart.
Step 14. Make adjustments to the Vertex fields in section 3 until the TradingView performance report is showing a profit.
Step 15. Change indicators and repeat step 14. Pick the best indicator.
Step 16. Use the check boxes in sections 5 and 6 to improve the performance of each side.
Step 17. Try adding the Correlation calculation model to either side. This model can sometimes produce a negative result but can be improved by enabling “Adhere To Markers” or “Narrow Correlation Scope” in the sections 5 and 6.
Step 18. Enable the reporting conditions in section 7. Look for long runs of consecutive losses or high debt sequences. These are indications that your trading system cannot withstand sudden changes in market sentiment.
Step 19. Examine the chart and see that trades are being placed in accordance with your desired trading model.
Step 20. Apply the backtest settings to the study version and perform forward testing.
This script is open for beta testing. After successful beta test it will become a commercial application available by subscription only. I’ve invested quite a lot of time and effort into making this the best possible signal generator for all of the instruments I intend to trade. I certainly welcome any suggestions for improvements. Thank you all in advance.
™TradeChartist Fib Extensions™TradeChartist Fib Extensions is a free to use script that helps traders plot Fibonacci Extensions on chart. Even though Trading View has a Fib extensions tool, some traders may prefer a plotting script like this with Fib plot lines extending across the whole of the chart to track historic prices in relation to Fib extensions drawn.
----To draw Fib extensions for uptrend ,
1. Choose a Pivot Low point (LL or a HL) as Pivot 1
2. Choose a Pivot High point (must be higher than Pivot 1) as Pivot 2
3. Choose a Pivot Low point (must be lower than Pivot 2, must be Higher than Pivot 1)
----To draw Fib extensions for downtrend,
1. Choose a Pivot High point (HH or a LH) as Pivot 1
2. Choose a Pivot Low point (must be lower than Pivot 1) as Pivot 2
3. Choose a Pivot High point (must be higher than Pivot 2 and lower than Pivot 1)
Negative extensions of -23.6% and -61.8% fib plots may be useful for some to spot reversals or to set stop losses.
Higher levels can be used if price goes beyond 161.8%
This is a free to use indicator. Give a thumbs up or leave a comment if you like the script
Check my 'Scripts' page to see other published scripts. Get in touch with me if you would like access to my invite-only scripts for a trial before deciding on a paid access for a period of your choice. Half-Yearly, Annual and Lifetime access available on invite-only scripts along with 1hr Team Viewer intro session.
CryptoSnaxAllinOne > 5 Scripts in 1 > Saving Time and Efficiency5 Scripts in 1 > Saving Time and Efficiency in My Daily Life
Tired of doing those repetivie tasks with Trading View?
- Spending Hours finding Support or Resistance?, Looking for Entry or Exit Signals? Looking for Pivot High/Low?
- Only to do it all again, when changing timeframes or asset!
- Fear Not > My All in One script should help.
Please find an overview of the All in One Script I have been building.
- This is purely for educational purposes.
- This script is not financial advice.
- I hold no responsibility for anyone using this script.
- I do not guarantee lifetime support for this script (if TV update version from 3 to 4, code will need to be updated)
- If you would like to use the script, please message me on TradingView.
- Script One > Give overall direction of trend with
- Script Two > Much Easier to see the Highs and the Lows of the Candles. Easier to Spot Resistance & Support. [Highest High / Lowest Low of Candle/Wick > 20Bars Eitherside)
- Script Three > 1st Confirmation of Pivot High and Low Plot > My 1st Confirmation of High or Low. [Pivot High/Low 20Bars Eitherside > 1st Confirm)
- Script Four > 2nd Confirmation of Pivot High and Low Plot > Entry and Exit > My 2nd Confirmation of High or Low. [Pivot High/Low 10Bars Eitherside > 2nd Confirm)
- Script Five > Plot in the Main Chart Red IF OverBought / Green if OverSold
NOTE > White Support Lines were Manually Drawn. I Drew them from the Script Data. I.e. Looking for Strong Support / Resistance Zones + Possible Fib = Manually Draw and Much Quicker to Make Qualified Decisions on the Probability.
Trend Signal with Alert📌The Trend Signal Indicator is based on Smooth Hiken Asia, a trend-following direction indicator that removes noise through continuity of candle body and tail structure and momentum, reveals inverse correlations in upward and downward directions, and more intuitively identifies different trends that strengthen, persist and weaken.
■ Display Settings
Simple View: Enables a minimal visual mode using a global transparency value.
Simple View Transparency: Controls opacity when Simple View is active.
■ Theme Settings
Theme: Selects one of six predefined color themes (BASIC, CYBER_PINK, FUTURE_MINT, MODERN_MINIMAL, OCEAN_WAVE, GOLD_LUXURY).
Each theme automatically sets up-trend main/glow colors and down-trend main/glow colors.
■ Custom Color Settings
Use Custom Colors: Overrides theme colors with user-defined colors.
Down Main / Down Glow: Colors applied when open > close.
Up Main / Up Glow: Colors applied when close ≥ open.
■ Line Settings
Line Width: Thickness of the main trend lines.
Glow Width: Thickness of glow lines.
Main Line Transparency: Opacity for main lines.
Glow Transparency: Opacity for glow layers.
Fill Transparency: Opacity for the area-fill between open and close plots.
■ Heiken Ashi Calculation
The script uses TAExt.heiken_ashi to generate smoothed Heiken Ashi values with:
Pre-HA smoothing (length + selectable MA type),
Post-HA smoothing (length + selectable MA type),
resulting in cleaner, noise-reduced trend representation.
■ Trend Color Logic
The indicator determines trend direction as:
Down Trend: open > close → applies MAIN_UP / GLOW_UP colors.
Up Trend: close ≥ open → applies MAIN_DOWN / GLOW_DOWN colors.
Colors adapt automatically to theme, Simple View, or custom settings, with dynamic transparency adjustments.
■ Plotting Structure
The script plots four main components:
1. Main Trend Lines
Two primary lines (open and close HA values) using main_color and user-selected line width.
2. Area Fill
A fill between the open and close plots using fill_color, providing visual body thickness.
3. Glow Layer
Multiple glow lines around the HA structure (o and c) using glow_color and reduced opacity for a layered halo effect.
4. Simplified Mode Support
When Simple View is enabled, all colors dynamically shift to a unified transparency for a softer minimal look.
■ Core Behavior
The indicator does not generate signals or predictions; it purely visualizes trend conditions using smoothed Heiken Ashi values enriched by color styling, glow layers, and theme customization.
■ Purpose
Provide a visually enhanced smoothed trend indicator.
Improve trend recognition through glow effects and area fills.
Offer flexible visual themes and full customization.
Support clean minimal mode for distraction-free charting.






















